#include <sys/types.h>
#include <sys/stat.h>
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
#include <stdlib.h>
#include <limits.h>
#define BUFES PIPE_BUF
int main(void)
{
    int fd;
    int n, i;
    char buf[BUFES];
    time_t tp;
    printf("I am %d", getpid());            //说明进程的ID
    if ((fd = open("fifo1", O_WRONLY)) < 0) //以只写方式打开一个FIFO，管道名为fifo1
    {
        printf("Open failed!\n");
        exit(1);
    }
    for (i = 0; i < 10; i++) //循环10次向FIFO中写入数据
    {
        time(&tp);                                                        //取系统当前时间
        n = sprintf(buf, "write_fifo %d sends %s", getpid(), ctime(&tp)); //使用sprintf函数向buf中格式化写入进程ID和时间值
        printf("Send msg: %s", buf);
        if ((write(fd, buf, n + 1)) < 0)
        {
            printf("Write failed!\n");
            close(fd);
            exit(1);
        }
        sleep(3);
    }
    close(fd);
    exit(0);
}

//这个文件和read_fifo.c文件配对的，但是不知道哪里有问题，有段错误